package com.demo.mangyThread.threadException.csdn;




import cn.hutool.json.JSON;

import cn.hutool.json.JSONObject;
import cn.hutool.json.JSONUtil;
import lombok.extern.slf4j.Slf4j;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

/**
 * @Author: lkz
 * @Title: CustomThreadUncaughtExceptionHandler
 * @Description: 使用线程异常处理器UncaughtExceptionHandler
 *      当一个线程由于未捕获异常而退出时，JVM会把这个事件报告给应用程序提供的UncaughtExceptionHandler异常处理器
 * @Date: 2023/3/28 11:21
 */

/**
 * 自定义异常处理器
 */
@Slf4j
public class CustomThreadUncaughtExceptionHandler implements Thread.UncaughtExceptionHandler{

    private static final Logger LOGGER = LoggerFactory.getLogger(CustomThreadUncaughtExceptionHandler.class);

    @Override
    public void uncaughtException(Thread t, Throwable e) {
        LOGGER.error("捕获到线程发生的异常，线程信息:[{}]", JSONUtil.parse(t),e);
    }


}
